import VeeValidate from "vee-validate";
//引入VeeValidate的中文包
import zh_CN from "vee-validate/dist/locale/zh_CN";

export default function (Vue) {
    Vue.use(VeeValidate);
    //对VeeValidate配置(必须写在use之后)
    VeeValidate.Validator.localize("zh_CN", {
        //message对象就是对提示信息的一个配置对象
        messages: {
            //首先展开一个中文包中因为的所有的配置信息
            ...zh_CN.messages,
            regex: (m) => `${m}的值不符合我定义的正则`,
            is: (m) => `${m}的值必须和密码一致`,
        },
        // 对字段进行中文名的配置
        attributes: {
            phone: "手机号",
            code: "验证码",
            password: "密码",
            passAgain: "确认密码",
            agree: "协议",
        }
    });

    //配置一个新的规则
    VeeValidate.Validator.extend("agree", {
        //使用validate参数是一个函数,接受当前校验的值,如果通过则返回true 否则返回false
        validate: (value) => {
            //因为这个agree规则是写在input的多选框单个使用的表单上,所以值是一个布尔值,我们希望这个布尔值是true才能通过
            /* if(value===true){
              return true
            }else{
              return false
            } */
            return value;
        },
        //使用getMessage配置项 配置提示信息,接受的参数是当前的字段名
        getMessage: (m) => {
            return `请先勾选上述${m}`;
        },
    });

}